package com.bw.coupon.mapper;

import com.bw.coupon.domain.Order;
import com.bw.coupon.domain.OrderSku;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OrderMapper {

    /**
     * 添加订单
     * @param order
     */
    void addOrder(Order order);

    /**
     * 添加订单中间表
     * @param orderSku
     */
    void addOrderSku(OrderSku orderSku);

    /**
     * 修改订单支付状态
     */
    void updateOrderPay(Long orderId);

    /**
     * 修改订单状态
     * @param orderNumber
     * @param orderStatus
     */
    void updateOrderStatus(@Param("orderNumber") Long orderNumber, @Param("orderStatus") Integer orderStatus);

    /**
     * 同步库存数量
     *
     * @param skuId
     * @param inventory
     */
    void updateInventory(@Param("skuId") Integer skuId, @Param("inventory") Integer inventory);

    /**
     * 根据订单号查询订单
     * @param outTradeNo
     * @return
     */
    Order selectOrderByOrderNumber(long outTradeNo);

    /**
     * 根据订单号查询订单
     * @param id
     * @return
     */
    List<OrderSku> selectOrderIdBySkuId(Long id);
}
